// 导入 vue
import Vue from 'vue'

// 导入 vue-router
import VueRouter from 'vue-router'
Vue.use(VueRouter)

// 导入 vuex
import Vuex from 'vuex';
Vue.use(Vuex)

var car = JSON.parse(localStorage.getItem('car'));
const store = new Vuex.Store({
    state: {
        // this.$store.state.***
        car: car, // {id: 商品的id, count: 数量, price: 商品单价, selected: true}
    },
    mutations: {
        // this.$store.commit('函数名', 参数)
        addToCar(state, goodsinfo){
            var flag = false;
            state.car.some( item => {
                if (item.id == goodsinfo.id) {
                    item.count += parseInt(goodsinfo.count);
                    flag = true;
                    return true;
                }
            })
            if(!flag) {
                state.car.push(goodsinfo);
            }
            localStorage.setItem('car', JSON.stringify(state.car));
        }
    },
    getters:{
        // this.$store.getters.***
        getAllCount(state){ // 获取购物车中的所有商品数量
            var c = 0;
            // state.car.forEach( item => {
            //     c += item.count;
            // })
            return c;
        }
    }
});

// 导入 日期格式化 moment
import moment from 'moment'
Vue.filter('dateFormat', function (dataStr, parttern = "YYYY-MM-DD HH:mm:ss") {
    return moment(dataStr).format(parttern)
})

// 导入 vue-resource
import VueResource from 'vue-resource'
Vue.use(VueResource)
Vue.http.options.root = 'http://www.lovegf.cn:8899';

// 导入 图片插件
import VuePreview from 'vue-preview'
Vue.use(VuePreview)


// 导入自己的 router
import router from './router.js'

// 导入 app 组件
import app from './App.vue'

// 导入 mint-ui
// import { Header,Swipe, SwipeItem,Button,Toast,Lazyload } from 'mint-ui'
// Vue.component(Header.name, Header);
// Vue.component(Swipe.name, Swipe);
// Vue.component(SwipeItem.name, SwipeItem);
// Vue.component(Button.name, Button);
// Vue.use(Lazyload);
import MintUi from 'mint-ui';
Vue.use(MintUi)
import 'mint-ui/lib/style.css'

// 导入 mui
import './lib/mui/css/mui.css'
import './lib/mui/css/icons-extra.css'


new Vue({
    el: '#app',
    data: {},
    methods: {},
    render: c => c(app),
    router,
    store,
})